/*
 * @Author: 张鹏
 * @Date: 2025-06-19 16:39:29
 * @LastEditors: zhangp zhangp@163.com
 * @LastEditTime: 2025-07-07 15:14:36
 * @FilePath: \mapbox\vite.config.js
 * @Description: 
 * 
 */
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import { fileURLToPath, URL } from "url";
import postcsspxtoviewport from "postcss-px-to-viewport";

export default defineConfig({
  plugins: [vue()],
  resolve: {
    alias: {
      "@": fileURLToPath(new URL("./src", import.meta.url)),
      "~": fileURLToPath(new URL("./packages", import.meta.url)),
    },
  },
  css: {
    preprocessorOptions: {
      scss: {
        // 可以在这里添加全局 scss 变量或 mixin
        // additionalData: `@import "src/styles/variables.scss";`
      },
    },
    postcss: {
      plugins: [
        // postcsspxtoviewport({
        //   unitToConvert: "px", // 要转化的单位
        //   viewportWidth: 1920, // UI设计稿的宽度
        //   unitPrecision: 6, // 转换后的精度，即小数点位数
        //   propList: ["*"], // 指定转换的css属性的单位，*代表全部css属性的单位都进行转换
        //   viewportUnit: "vw", // 指定需要转换成的视窗单位，默认vw
        //   fontViewportUnit: "vw", // 指定字体需要转换成的视窗单位，默认vw
        //   selectorBlackList: ["ignore-"], // 指定不转换为视窗单位的类名，
        //   minPixelValue: 1, // 默认值1，小于或等于1px则不进行转换
        //   mediaQuery: true, // 是否在媒体查询的css代码中也进行转换，默认false
        //   replace: true, // 是否转换后直接更换属性值
        //   exclude: [/node_modules/, /packages/], // 设置忽略文件，用正则做目录名匹配
        //   // exclude: [],
        //   landscape: false, // 是否处理横屏情况
        // }),
      ],
    },
  },
});
